package com.hlkj.baojin.utils.hik;


public class WebServiceUtil {
	
	/**
	 * 获取接口返回的xml信息
	 * @param serviceIp			服务器ip地址
	 * @param ServicePort		服务器端口
	 * @param prefix			元素的前缀
	 * @param returnType		返回值类型
	 * @param method			调用的方法名称
	 * @param params			调用的方法参数
	 * @return
	 */
	public String getCommonXml(String serviceIp, int ServicePort, String prefix, 
			Class<String> returnType, String method, Object... params) {
		try {
			WebServiceOmeClient client = getClient(serviceIp, ServicePort, prefix);
			return client.call(returnType, method, params);
		}catch(Exception e) {
			LogUtil.logError(this, "获取信息失败"+e);
		}
		return null;
	}
	
	/**
	 * 基于OMElement实现的WebService客户端
	 * @param serviceIp
	 * @param servicePort
	 * @param prefix
	 * @return
	 */
	private WebServiceOmeClient getClient(String serviceIp, int servicePort, String prefix) {
		try {
			String servicePath ="";
			String namespace ="";
//			if(CfgMgr.getPlatformSdkIsChoose()){
//				servicePath=WebServiceConstant.VmsPlatFormSdkWebService_path;
//				namespace =WebServiceConstant.VmsPlatformSdkWebservice_namespace;
//			}else{
				servicePath=WebServiceConstant.VmsSdkWebService_path;
				namespace = WebServiceConstant.VmsSdkWebService_namespace;
//			}
			return new WebServiceOmeClient(serviceIp, servicePort,
					servicePath,
					namespace, prefix);
		} catch (Exception e) {
			LogUtil.logError(this, "无法建立对象"+e);
		}
		return null;
	}
	/**
	 * 获取接口返回xml信息的接口
	 * 
	 * @param prefix
	 * @param method
	 * @param params
	 * @return
	 */
//	public String getXml(String prefix, String method, Object... params) {
//		try {
//			WebServiceUtil service = new WebServiceUtil();
//			String Xml = service.getCommonXml(getServiceIp(), getServerPort(),
//					prefix, String.class, method, params);
//			return Xml;
//		} catch (Exception e) {
//			LogUtil.logError(this, "无法获取信息");
//		}
//		return null;
//	}
	
}
